The U.S. electronic signature law, “Electronic Signatures in Global and National Commerce Act,” defines an electronic signature as “an electronic sound, symbol, or process, attached to or logically associated with a contract or other record and executed or adopted by a person with the intent to sign the record.”
Public Key Infrastructure (PKI) has been used to create high quality electronic signatures on electronic documents. A PKI may consist of a set of key pairs from asymmetric cryptosystems where one key of the pair is identified as public and one as private, a set of entities, called subjects, that control private keys, and a set of rules or policies, defined by a Policy Authority, for managing the key pairs. The minimum set of rules typically stipulates that each private key must be kept as a secret of its subject and must be applied only under direction of the subject. The public key of the pair may be published or otherwise made known to other entities, along with information identifying its subject. Trustworthy entities called Certification Authorities may bind subject identity information to a public key using a data structure called a digital certificate, and another trustworthy entity called a Registration Authority may confirm the accuracy of the information identifying the subject. Certification Authorities may be arranged in a network of trust relationships so that a party can trust the content of digital certificates made by one Certification Authority based on trust they may have of another Certification Authority.
A digital signature on a portion of data is a value formed by applying a private key to a secure digest of the data. Parties receiving the data, the digital signature, and the digital certificate of the subject whose private key was used in formation of the digital signature can perform a process called “signature verification” that can confirm whether the subject's private key formed the signature and whether the data has changed since formation of the signature.
These features of digital signatures can be used in electronic signature systems to form high-quality electronic signatures on electronic documents. A typical form of such a signature can be made using a private key whose subject is the signer, and a corresponding digital certificate certifying the signer as the subject. In this form of electronic signature, the to be signed document and possibly other relevant information is taken as the portion of data to be digitally signed. A digital signature is formed on this data using the private key, and the electronic signature consists of the digital signature and the digital certificate, where the subject of the certificate is the signer of the electronic signature.
Any party wishing to rely on an electronic signature so formed can use the digital signature verification process to verify the signature and determine, with some degree of confidence, the accuracy of the signer identification and whether the document has changed since it was signed.
The degree of confidence that can be achieved depends on many factors, including the policies the PKI has for managing keys and the degree to which these policies are actually followed by all participants. A trustworthy PKI typically includes a system of contracts and agreements to enforce the policies, and system of audits on the authorities to confirm their compliance.
In addition to creating electronic signatures, electronic signature systems may also provide a comprehensive set of related services, including the following:                eDelivery and workflow control. Bind multiple documents into a single transaction and securely deliver them to the parties that have to act on them. Parties may only be able to perform specific actions intended for them. The order of performance of these actions may be controlled, as may the order of delivery to the parties.        eSignature. Both preregistered and first-time users may be able to electronically sign the delivered documents.        Hidden PKI. Although the signatures can be based on PKI digital signatures, no knowledge or awareness of PKI may be necessary for users.        Infrastructure-free. The system may, in some cases, be used to overcome limitations on client document handling and display software, such as inability to control the order of performing actions such as signing, and inability to create an electronic signature of the type desired, so that those receiving and signing documents don't need to install anything new.        Multi-format. Different document formats can potentially be mixed in the same transaction.        Audit trails. A trustworthy system can maintain secure audit trails of the performance of the critical steps of the eDelivery and eSignature process.        Authoritative metadata. An authoritative source may be able to provide other trustworthy signature metadata, such as, for example, the actual signing time, and may be able to perform some of the functions of a witness or notary.        
U.S. Pat. No. 7,237,114 describes aspects of a server-based electronic signature system that can create PKI-based electronic signatures while providing all of these services. The disclosure of this patent is incorporated herein by reference and made a part hereof.
Systems also exist for creating electronic signatures using a client-side process. In these systems, typically a program installed on the client for displaying electronic documents includes a facility for forming an electronic signature in an indicated location in documents.
Such systems may have the ability to form strong cryptographic signatures using a PKI private key. This private key and a corresponding digital certificate is may be kept on the client. A user who wants to sign a document must typically first go to a Certification Authority and have a key pair and corresponding certificate provisioned into their client machine. The provisioning process typically exposes the user to PKI, and requires that they have some knowledge of the provisioning process and private key management.
Client-side components have also typically been more vulnerable to problems, such as attacks by malicious entities that may cause improper operation of their components. Such attacks can lead to, for example, compromise of private keys.
However, client machines can include hardware components that are able to make client facilities more trustworthy. Such components may be able to offer facilities that include the following:                1. They may form a root of trust on the client, allowing other entities to verify that other hardware and software components exist in an acceptable form.        2. They may facilitate secure, hardware-based storage of private data such as cryptographic keys.        3. They may be able to form or verify digital signatures.        
Trusted Platform Modules (TPMs), commonly included in new client computer systems, are one category of such components.
Trustworthy client components can be used in providing trustworthy multi-factor authentication of a user. Multi-factor authentication schemes typically involve two or more of the following authentication factors:                1. Something you know.        2. Something you have.        3. Something you are.        
For example, a client TPM may provide secure user authentication by supporting the above authentication factors using mechanisms that includes the following facilities:                1. Something you know: Secure entry and communication of passwords.        2. Something you have: Secure storage and application of private keys in a way that can demonstrate possession of the key or of the hardware containing it without revealing the key.        3. Something you are: Secure application of biometric hardware.        
Client computer systems that include trustworthy components may be able to apply any or all of the above authentication factors when creating the electronic signature of a user, a feature that is not achievable with server components alone. However, client-based electronic signature systems may require installation of new components beyond those typically available in a consumer machine in order to participate in a signature process that provides all of the related services described above. This need for missing components limits the use of such systems in Web-based consumer interactions.
Therefore, a need exists for an electronic signature system that can provide the comprehensive services listed above, combined with the strong signer authentication available from common trustworthy client facilities, without requiring the client to install new components.
The present invention meets a need in the art, by providing a system for a signature authority, after receipt of a signature creation request from a signing party, to verify that the signing party to which the signature is to be attributed authorized creation of a digital signature for a to be signed electronic document as specified in the signature creation request. The system comprises an Internet computer browser computer program operative on an Internet-connected computer used by a signing party for authorizing digitally signing of a to-be-signed electronic document, the browser computer program operative to execute applets provided from an external source. A certification authority for the Internet-connected computer used by the signing party, the certification authority protecting a certification authority private key and a corresponding digital certificate of the signing party having the signing party as a subject thereof together with a public key of the signing party. A signature authority for coordinating construction of an electronic digital signature for digitally signing the to-be-signed electronic document in conjunction with a signature creation request of the signing party instructing the creation of a digitally signed electronic document. The signing party's Internet-connected computer configured for digitally signing the signature creation request using a private key of the signing party whose corresponding public key is in the digital certificate of the signing party and inserting the digital certificate into the signature creation request. The signature authority configured for, upon receiving the digitally signed signature creation request from the signing party's Internet-connected computer, (a) verifying the digital signature on the signature creation request, and (b) verifying that the subject of the digital certificate in the signature creation request matches the signing party associated with the signature creation request. The signature authority creating the digital signature of the signing party as specified in the signature creation request.
Objects, advantages, and features of the present invention will become apparent upon a reading of the following detailed description in reference to the drawings and the appended claims.